A search engine is software that searches a variety of objects in order to find objects that match a particular search query. Examples of the objects include, but are not limited to, web pages, images, video, and other information.
As search engines become more integrated with other applications, the reliability and relevance of the information returned by the search engine gains importance. For example, Yahoo! Local allows a user to search directory listings for local information about goods, services, and entertainment in the user's local area or another area designated by the user. The results of such a search include a map with the locations of the results, as well as ratings about a particular business and other relevant information.
Search engines use many methods of determining the relevance, to a search query, of the objects being searched. One method of determining relevance is to create an index of the text associated with an object. For example, a web page typically consists of a document that contains text and references to other objects such as images and multimedia files. These references cause the images and multimedia files to be displayed as part of a single web page. A “spider,” which finds and indexes web pages and objects, may create a copy of the text portion of the web page. In such a system, a search query received by the search engine may contain words that exist in the indexed web page. The user is then provided a means to navigate to the particular web page, as well as other relevant web pages.
Although some multimedia files are capable of being searched for text within the files, reliability of search results is often based on the text in proximity to an object. For example, an image within a web page may be surrounded by text when displayed to a user. This text often describes the image, so an indexing program such as a spider may index the image in a database, along with text that is considered to meet a threshold of association with the image in the web page.
While a minimum level of relevance is determined by matching words, other indicators often assist in creating a ranking score used to sort objects that match a search query. One such indicator may be the historical number of times users have chosen a particular object when the object was displayed in response to a particular search query. Other factors may be the frequency of particular key words in a document, the location of key words in a document, and the number of outside references (such as links) to the document. In some cases, the location of key words within the text of an outside link to the document may influence the weight given to a particular document for a particular query. As the ranking score for a particular object changes, the order in which the object is returned in response to a search query changes.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.